$(document).ready(function() {
    // fuelux datagrid
    var DataGridDataSource = function (options) {
        this._formatter = options.formatter;
        this._columns = options.columns;
        this._delay = options.delay;
    };

    DataGridDataSource.prototype = {

        columns: function () {
            return this._columns;
        },

        data: function (options, callback) {
            var url = 'http://120.24.42.44:8888/boss/admin/developer/showdev';
            var self = this;

            setTimeout(function () {

                var data = $.extend(true, [], self._data);
                var adminAccount = parseInt(localStorage.id);
                $.ajax(url, {
                    data: {aid: adminAccount},
                    dataType: 'json',
                    async: false,
                    type: 'GET'
                }).done(function (response) {

                    data = response;

                    // SEARCHING 查找
                    if (options.search) {
                        data = _.filter(data, function (item) {
                            var match = false;

                            _.each(item, function (prop) {
                                if (_.isString(prop) || _.isFinite(prop)) {
                                    if (prop.toString().toLowerCase().indexOf(options.search.toLowerCase()) !== -1) match = true;
                                }
                            });

                            return match;
                        });
                    }

                    // FILTERING 过滤
                    if (options.filter) {
                        data = _.filter(data, function (item) {
                            switch(options.filter.value) {
                                case 'lt5m':
                                    if(item.population < 5000000) return true;
                                    break;
                                case 'gte5m':
                                    if(item.population >= 5000000) return true;
                                    break;
                                default:
                                    return true;
                                    break;
                            }
                        });
                    }

                    var count = data.length;

                    // SORTING 排序
                    if (options.sortProperty) {
                        data = _.sortBy(data, options.sortProperty);
                        if (options.sortDirection === 'desc') data.reverse();
                    }

                    // PAGING
                    var startIndex = options.pageIndex * options.pageSize;
                    var endIndex = startIndex + options.pageSize;
                    var end = (endIndex > count) ? count : endIndex;
                    var pages = Math.ceil(count / options.pageSize);
                    var page = options.pageIndex + 1;
                    var start = startIndex + 1;

                    data = data.slice(startIndex, endIndex);

                    if (self._formatter) self._formatter(data);

                    callback({ data: data, start: start, end: end, count: count, pages: pages, page: page });
                }).fail(function(e){

                });
            }, self._delay);
        }
    };

    $('#MyStretchGrid').each(function() {
        $(this).datagrid({
            dataSource: new DataGridDataSource({
                // Column definitions for Datagrid
                columns: [
                    {
                        property: 'uid',
                        label: '账号',
                        sortable: true
                    },
                    {
                        property: 'name',
                        label: '姓名',
                        sortable: true
                    },
                    {
                        property: 'id_number',
                        label: '身份证号',
                        sortable: true
                    },
                    {
                        property: 'status',
                        label: '状态',
                        sortable: true
                    },
                    {
                        property: 'geonameId',
                        label: '操作'
                        //sortable: true
                    }
                ],

                // Create IMG tag for each returned image
                formatter: function (items) {

                    $.each(items, function (index, item) {

                        if(item.status === "0"){
                            item.geonameId = '<button class="btn btn-info btn-small" onclick="freeze(this)">解冻<!--<i class="icon-pencil"></i>--></button>';
                            item.status = "冻结";
                        }
                        if(item.status === "1"){
                            item.geonameId = '<button class="btn btn-info btn-small"  onclick="thaw(this)">冻结<!--<i class="icon-remove-sign"></i>--></button>';
                            item.status = "使用中"
                        }
                        if(item.status === "2"){
                            item.geonameId = '<button class="btn btn-info btn-small"  onclick="pass(this)">审核通过<!--<i class="icon-pencil"></i>--></button>';
                            item.geonameId += '<button class="btn btn-danger btn-small" onclick="noPass(this)">审核不通过<!--<i class="icon-remove-sign"></i>--></button>';
                        }
                        //item.geonameId = '<button href="#edit?geonameid='+item.geonameId+'"><i class="icon-pencil"></i></button>';
                        //item.geonameId = '<button class="btn btn-primary">修改<i class="icon-pencil"></i></button>';
                        //item.geonameId = '<button class="btn btn-primary">修改<i class="icon-pencil"></i></button>';
                        //item.geonameId+='<button class="btn btn-danger" onclick="remove(this)">删除<i class="icon-remove-sign"></i></button>';

                    });
                }
            })
        });
    });

});


function freeze(e){
    //找到父节点
    var parent = $(e).parent();
    //和父节点同级的上一层节点状态改为解冻
    parent.prev().text("使用中");
    //button的text改为冻结，同时更改绑定函数
    $(e).text("冻结");

    $(e).attr('onclick', '').bind('click', function(){ thaw(e); });

    //无参数的html()返回的是String字符串 用parseInt转换
    var developerAccount = parseInt(parent.prev().prev().prev().prev().html());
    //获取admin的ID并转为数字
    var adminAccount = parseInt(localStorage.id);
    //请求地址
    url = localStorage.url + '/boss/admin/developer/unclocku';
    var jqxhr = $.get(url,{
        did: developerAccount,
        aid: adminAccount
    } ).success(function(){
        //alert('解冻成功');
    })


}

function thaw(e){
    //找到父节点
    var parent = $(e).parent();
    //和父节点同级的上一层节点状态改为冻结
    parent.prev().text("冻结");
    //button的text改为解冻，同时更改绑定函数
    $(e).text("解冻");

    $(e).attr('onclick', '').bind('click', function(){ freeze(e); });

    //无参数的html()返回的是String字符串 用parseInt转换
    //获取developer的ID
    var developerAccount = parseInt(parent.prev().prev().prev().prev().html());
    //获取admin的ID并转为数字
    var adminAccount = parseInt(localStorage.id);
    //请求地址
    url = localStorage.url + '/boss/admin/developer/clocku';
    var jqxhr = $.get(url,{
        did: developerAccount,
        aid: adminAccount
    } ).success(function(){
        //consle.log('冻结成功');
    })


}

function pass(e){
    var parent = $(e).parent();
    //和父节点同级的上一层节点状态改为冻结
    parent.prev().text("审核通过");
    //button的text改为解冻，同时更改绑定函数
    $(e).text("冻结");

    $(e).attr('onclick', '').bind('click', function(){ thaw(e); });


    //同时删除下一个按钮
    $(e).next().fadeOut('slow');
    //创建XMLHttpRequest对象，通过对象进行AJAX请求
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET","url", true );
    xmlhttp.send("审核通过");
}

function noPass(e){
    var parent = $(e).parent();
    //和父节点同级的上一层节点状态改为冻结
    parent.prev().text("不通过");
    //button的text改为解冻，同时更改绑定函数
    $(e).text("解冻");
    $(e).attr('onclick', '').bind('click', function(){ freeze(e); });
    //创建XMLHttpRequest对象，通过对象进行AJAX请求
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET","url", true );
    xmlhttp.send("不通过");
}